package com.example.db.entity

import androidx.room.TypeConverter
import com.blankj.utilcode.util.GsonUtils

/**
 * 自定义类型转换器
 * 支持类型:NULL,INTERGER,TEXT,BLOO,REAL
 * 其他类型需要自定义类型转换器
 */
class CustomTypeConverters {
    /**
     * 数据中存储一个List集合,就需要做类型转换
     */
    @TypeConverter
    fun arrayListToString(list:ArrayList<String>):String {
        return GsonUtils.toJson(list)
    }

    /**
     * 将JSON字符串转成集合
     */
    @TypeConverter
    fun stringToArrayList(json:String):ArrayList<String> {
        return GsonUtils.fromJson(json,ArrayList::class.java) as ArrayList<String>
    }
    /**
     * 将Long类型转换成字符串
     */
    @TypeConverter
    fun longToString(long:Long):String = long.toString()
    /**
     * 将字符串转换成Long类型
     */
    @TypeConverter
    fun stringToLong(string:String):Long = string.toLong()
}